package com.ruoyi.drone.service;

import com.ruoyi.drone.domain.dto.DroneLoginDTO;

/**
 * 无人机系统登录服务接口
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public interface IDroneLoginService {

    /**
     * 用户登录
     * 
     * @param loginDTO 登录信息
     * @return 登录结果，包含token
     */
    String login(DroneLoginDTO loginDTO);

    /**
     * 验证token
     * 
     * @param token JWT token
     * @return 验证结果
     */
    boolean validateToken(String token);

    /**
     * 根据token获取用户ID
     * 
     * @param token JWT token
     * @return 用户ID
     */
    Long getUserIdFromToken(String token);

    /**
     * 根据token获取手机号
     * 
     * @param token JWT token
     * @return 手机号
     */
    String getPhoneFromToken(String token);


    /**
     * 从请求头中获取token
     * 
     * @param authHeader Authorization请求头
     * @return JWT token
     */
    String getTokenFromHeader(String authHeader);
}
